import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.*;

import java.util.stream.Stream;

public class JunitTest01 {
    public static Stream<Arguments> Generator1() {
        return Stream.of(Arguments.arguments(
                "1, 张三",
                "2, 李四"
        ));
    }

    @ParameterizedTest
    @ValueSource(ints = {1})
    void test01(int n) {
        System.out.println(n);
//        Assertions.assertEquals(n, 1);  // 断言相等
//        Assertions.assertNotEquals(1, n); // 断言不相等
//        String str = "n";
//        Assertions.assertNull(str); // 断言为空
    }

    // CSV 获取参数
    @ParameterizedTest
    @CsvSource({"1, 2, 3, ''"})
    void test02(String x, String y, int z, String q) {
        System.out.println(x);
        System.out.println(y);
        System.out.println(z);
        System.out.println(q);
        System.out.println("======================");
    }

    // CSV 获取文件参数
    @ParameterizedTest
    @CsvFileSource(resources = "test02.csv")
    void test03(int n, String name) {
        System.out.println("学号：" + n + ", 姓名：" + name);
    }

    // 方法获取参数
    @ParameterizedTest
    @MethodSource("Generator1")
    void test04(String n, String name) {
        System.out.println(n + name);
    }

}
